# 1.添加元素

# 1.1 append() 向尾部追加元素
list1 = ['王昭君','杨玉环','貂蝉','西施']
'''
print(list1)
# 追加单个元素
list1.append('东施')
print(list1)
# 追加多个元素,不能直接追加,必须是以列表的方式进行追加.会改变原列表的维度
list1.append(['孙尚香','甄宓','大乔','小乔'])   # ['王昭君', '杨玉环', '貂蝉', '西施', '东施', ['孙尚香', '甄宓', '大乔', '小乔']]
print(list1)


# 1.2  extend() 用于在列表末尾一次性追加多个元素
print(list1)
# list1.extend(['朱成康','李隆基','吕布','勾践'])
# print(list1)  # ['王昭君', '杨玉环', '貂蝉', '西施', '朱成康', '李隆基', '吕布', '勾践']
list1.extend('秦始皇')
print(list1)   # ['王昭君', '杨玉环', '貂蝉', '西施', '秦', '始', '皇']


# 1.3 insert(要插入位置的下标,要插入的元素) 在列表中指定的位置插入元素,后面的元素依次后延
list2 = ['秦始皇','汉武帝','隋文帝','唐太宗','宋太祖']
print(list2)  # ['秦始皇', '汉武帝', '隋文帝', '唐太宗', '宋太祖']
list2.insert(1,'秦二世')
print(list2)  # ['秦始皇', '秦二世', '汉武帝', '隋文帝', '唐太宗', '宋太祖']

# 若想一次性插入多个元素,使用列表的方式实现
list2.insert(2,['刘病已','刘秀'])
print(list2)  # ['秦始皇', '秦二世', ['刘病已', '刘秀'], '汉武帝', '隋文帝', '唐太宗', '宋太祖']


# 2.删除元素
list1 = ['刘备','关羽','张飞','赵云','马超']
print(list1)  # ['刘备', '关羽', '张飞', '赵云', '马超']
# pop() 传输的参数是下标,若未传参数,表示默认删除最后一个元素
list1.pop()   # 表示删除最后一个元素
print(list1)  # ['刘备', '关羽', '张飞', '赵云']
list1.pop(1)  # 表示删除下标为1的元素
print(list1)  # ['刘备', '张飞', '赵云']

list2 = ['曹操','司马懿','曹丕','夏侯惇','许褚']
print(list2)   # ['曹操', '司马懿', '曹丕', '夏侯惇', '许褚']
# remove() 传输的参数是要删除的元素
list2.remove('曹丕')
print(list2)   # ['曹操', '司马懿', '夏侯惇', '许褚']

# clear() 表示清空列表
list3 = ['孙权','周瑜','黄盖','鲁肃','陆逊']
print(list3)  # ['孙权', '周瑜', '黄盖', '鲁肃', '陆逊']
list3.clear()
print(list3)  # []


# 3.获取元素
list1 = [34,57,43,68,2548,437]
# 获取元素的最大值 max()
print(max(list1))  # 2548

# 获取元素的最小值  min()
print(min(list1))  # 34

# 获取指定元素的索引 index()
print(list1.index(68))   # 3


# 4.列表的其他用法
list1 = [12,34,56,78,91]
print(list1)
# reverse() 翻转列表元素  在原列表的内部进行翻转,不会生成新列表
# print(list1[::-1])
list1.reverse()
print(list1)  #  [91, 78, 56, 34, 12]


list2 = [52,34,26,48,91]
# sort() 排序  默认是升序  不会生成新列表
# 升序
list2.sort()
print(list2)  # [26, 34, 48, 52, 91]
# 降序.  reverse=True
list2.sort(reverse=True)
print(list2)  # [91, 52, 48, 34, 26]

# sorted() 也可以实现对列表元素进行排序. 排序的结果会生成一个新列表  默认是升序
list3 = [34,54,12,3,57]
# 升序
list4 = sorted(list3)
print(list4)  # [3, 12, 34, 54, 57]

# 降序  reverse=True
list5 = sorted(list3,reverse=True)
print(list5)  # [57, 54, 34, 12, 3]
'''
#
list1 = ['a','hello','boy','girl']
# 按照元素的长度进行排序
list2 = sorted(list1,key=len)
print(list2)  # ['a', 'boy', 'girl', 'hello']




